Modern transform-based image compression methods include transforming blocks of image data, quantizing the transform coefficients, then ordering the coefficients along a path in the two-dimensional coefficient plane, and entropy coding the ordered sequence of quantized coefficients. Quantization is such that 0 is the most-likely-to-occur coefficient amplitude. Conventional two-dimensional variable length coding is commonly used in image and video compression for the entropy coding, and includes coding the position of each non-zero-value coefficient and its amplitude simultaneously as a pair, which typically results in a shorter average code length than coding the position and amplitude separately. In a block-based transform coding, however, there are often a number of consecutive non-zero-value coefficients along a low-frequency region of the coding path. Instead of using a single code to represent the “n” consecutive coefficients, conventional two-dimensional variable length coding requires “n” separate codes, which is inefficient. Hybrid variable length coding was recently introduced and includes coding a first region in the ordered sequence—the low-frequency region—differently than the coefficients in a second higher-frequency region. One embodiment of hybrid variable length coding uses a low-frequency coding method that takes advantage of the clustered nature of the quantized non-zero coefficients in the low-frequency region and a high-frequency coding method that takes advantage of the scattered nature of the quantized non-zero coefficients in the high-frequency region.
The position along the sequence where the coding method changes the low-frequency region coding method to the high-frequency region coding method is called the “breakpoint.” One aspect of hybrid variable length coding is determining the location of the breakpoint that separates the one, e.g., low-frequency region from the other, e.g., high-frequency region. Such a breakpoint must be known to a decoder to properly decode the coded coefficients. A constant breakpoint for an entire video sequence has been found to be not optimal.
The per block breakpoint determining methods disclosed in the Per Block Breakpoint Determining Patent Application determine breakpoint locations for use for each sequence of each block. Sending the information on the locations of the breakpoints requires some overhead. It may be that a single breakpoint location can be used for a multi-block partition, e.g., a partition of a small number of adjacent blocks. While not optimal, this may still provide improvement over sending a single breakpoint to use for all the blocks.